Skip to content

release: prepare 0.2.0 - #21

Merged
bojieli merged 1 commit into
mainfrom
release-0.2.0
Aug 22, 2026
Merged

release: prepare 0.2.0#21
bojieli merged 1 commit into
mainfrom
release-0.2.0

Conversation

@bojieli

@bojieli bojieli commented Aug 22, 2026

Copy link
Copy Markdown
Owner

Version constant to 0.2.0, changelog [Unreleased] stamped as [0.2.0] - 2026-08-22.

Minor, not patch. The release adds the target-first form (reach <target> <command>) and the Grok Build adapter, and removes --untrusted.

Also here, because the tag will not publish without it

Releases are gated on CI — release.yml calls ci.yml as a reusable workflow and publishes nothing until all of it is green. CI has been red on main since before the last two merges, on two gosec findings in parseFlags:

cmd/reach/flags.go:20:15: G602: slice bounds out of range (gosec)
cmd/reach/flags.go:21:15: G602: slice bounds out of range (gosec)

Both are false. i is an index obtained by ranging over args, so args[i+1:] and args[:i] are in range by construction; gosec does not follow that through the reassignment of args in the loop body. Annotated with the reason, in the style the repo already uses in shim.go and cache.go, rather than reshaping an argument parser to satisfy a linter on the eve of a release.

golangci-lint run ./... now reports 0 issues.

Changelog ordering

Merging #20 left the 0.2.0 section with a ### Fixed block ahead of ### Added and a second ### Fixed after ### Removed. They are now a single Fixed section in Keep a Changelog order, and the release gets a lead paragraph in the style of 0.1.1.

Checks

go build, go vet, go test ./..., golangci-lint run ./... all clean locally. reach version reports reach 0.2.0.

Once this is green and merged, v0.2.0 gets tagged on main.

🤖 Generated with Claude Code

https://claude.ai/code/session_01PuwaXDJut6CorENbW1KHPk

A minor rather than a patch: the release adds the target-first form and the
Grok Build adapter, and removes --untrusted.

Also clears the one thing standing between a tag and a published release.
Releases are gated on CI, and CI has been red on main since before either of
the last two merges: gosec reads `args[i+1:]` and `args[:i]` in parseFlags as
possibly out of range, when i is an index obtained by ranging over args and
both slices are in range by construction. gosec does not follow that through
the reassignment of args, so the finding is annotated with its reason rather
than the parser being reshaped for a linter on the eve of a release.

The changelog's 0.2.0 section is also put back into Keep a Changelog order.
Merging #20 left a Fixed block ahead of Added and a second Fixed block after
Removed; they are now one Fixed section in the conventional position.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PuwaXDJut6CorENbW1KHPk
@bojieli
bojieli merged commit 8d6c342 into main Aug 22, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant